BranChing is a program for analyzing digitized images of root systems on the Macintosh. It has several modules (of varying states of refinement) for making measurements from architectural analyses of branching structures to length and to fractal dimensions.
BranChing was written primarily to facilitate my own work, so the capabilities it has are limited to those I thought worth putting the energy into. BranChing is NOT a complete image processing utility. Far from it - to use BranChing successfully the user have access to a general image processing program (Image is an EXCELLENT such candidate). BranChing was designed to work with one bit images (black and white) and can only a few file types (PICT and PNTG).
So what use is this program? Below I outline the basic modules within BranChing.
Architecture: This module makes detailed measurements of explicit topological and
link length patterns of two dimensional images of roots (or any other root tree
branching structure -- e.g. stream drainage networks, neurons, lightning).
Described in detail in Berntson (1992).
Trajectories: This module is used for measuring vectors along curves (it works
manually). A potential application is to generate functions of length-angle
relationships for trajectories of root growth obtained from rhizotron or
excavation studies.
Root Length: Measures length of randomly distributed group of lines. Uses
algorithms introduced by Newman (1966) and modified by Harris and
Campbell (1989).
Fractal: Calculates fractal dimension of two dimensional images using the grid
intercept method.
Root Map: Measures the two dimensional distribution of a set of lines (e.g. roots
from rhizotron tracings), correcting for variable horizon and image scale.
Creates matrices (horizontal x vertical) of root length. Still in the development
stages.
Pixel Types: Counts all the on pixels in an image and for each on pixel, counts
the number of neighboring pixels. For previously skeletonized images (e.g.
ones skeletonized in Image) this routine will tell you "length" (all pixels), possible
"tips" (one neighboring pixel), possible branching points (more than two neighbors),
and noise (no neighbors). As of v1.56, this module also performs root length
calculations developed by Pan & Bolton (1991).
About this version - 1.56
This is the fifth version of BranChing I have released to the public.
This is a "young" program. I am a novice programmer and thus the interface and features of this program are limited. If you use BranChing, please contact me and tell me how it has been performing. It still crashes every now and then - I am continually improving the stability of the code. In none of the tests I have run has BranChing resulted in the loss of any data or the corruption of any files. It never modifies existing files - all image manipulation is in memory. If you have any suggestions for revisions -- to improve the program or to make it more suitable for your own needs -- let me know. I will continue to support and improve BranChing.
Incompatibilities
I have found that some of BranChing's modules are not compatible with Now Menus and Super Boomerang (both components of the otherwise excellent Now Utilities commercial software package). I have found these incompatibilities with versions 4, 4.01 and 4.02.
Several people who have used BranChing have experienced problems with some modules - especially the architecture module. As a first try at solving these problems, I recommend ALLOCATING MORE MEMORY TO BRANCHING. BranChing can handle extremely large root data structures (more about what they are later) - as large as can be accomodated by available RAM. If insufficient memory is allocated to BranChing it will not be able to perform some operations.
Digitizing Images
To date BranChing has been used to analyze images of root systems that were digitized using video cameras attached to frame grabber boards and various types of scanners (flat bed and other). It is possible, however, to use BranChing with any digitized image on the Macintosh, independent of origin. The only limitation is in the format of the digitized image.
File Types
Input - Currently BranChing will process MacPaint‚Ñ¢ (file type 'PNTG') and black and white 'PICT' files.
The output (number and type of files) depends on the particular module being used and the settings specified by the user. In general there are two types of files created: one-image-one-output files and many-image-one-output files. Each output file has a default file name corresponding to the image name (first image if many images being processed) plus a suffix. The following table (Table 1) summarized the output options.